<?php
namespace app\index\controller;

use app\common\controller\Base;

class UpFiles extends Base
{
    public function upload(){
        // 获取上传文件表单字段名
        $fileKey = array_keys(request()->file());
        // 获取表单上传文件
        $file = request()->file($fileKey['0']);
        // 移动到框架应用根目录uploads/ 目录下
        $info = $file->move('../public/uploads');
        if($info){
            $result['code'] = 1;
            $result['info'] = '图片上传成功!';
            $path=str_replace('\\','/',$info->getSaveName());
            // $result['url'] = $_SERVER['HTTP_ORIGIN'].'/uploads/'. $path;
            $result['url'] = '/uploads/'. $path;
            $this->resetImage(BASE_PATH.$result['url']);
            return $result;
        }else{
            // 上传失败获取错误信息
            $result['code'] =0;
            $result['info'] = '图片上传失败!';
            $result['url'] = '';
            return $result;
        }
    }
    
    /**
     * 压缩图片
     * @author 秋水
     * @DateTime 2018-11-14T18:31:55+0800
     */
    public function resetImage($path)
    {
        $image = \think\Image::open($path);
        // 返回图片的宽度
        $width = $image->width(); 
        // 返回图片的高度
        $height = $image->height(); 
        // 返回图片的类型
        $type = $image->type(); 
        // 返回图片的mime类型
        $mime = $image->mime(); 
        // 返回图片的尺寸数组 0 图片宽度 1 图片高度
        $size = $image->size(); 
        if($width>500 || $height>500) {
            if($width > $height) {
                $width_n = 500;
                $height_n = $width_n/$width*$height;
            } else {
                $height_n = 500;
                $width_n = $height_n/$height*$width;
            }
            $image->thumb($width_n, $height_n)->save($path);
        }
    }
}